﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Linq;
using System.Threading.Tasks;
using System.Windows.Forms;
using DevExpress.XtraEditors;
using ENTITY;
using CONTROLLER;

namespace frm_view
{
    public partial class frmChuong : DevExpress.XtraEditors.XtraForm
    {
        EN_MonHoc obj_en_MonHoc = new EN_MonHoc();
        ctrls_MonHoc obj_ctrl_MonHoc = new ctrls_MonHoc();

        ctrls_Chuong obj_Chuong = new ctrls_Chuong();
        EN_chuong obj_En = new EN_chuong();
        
        private bool IsInsert = false;
        private void KhoaDieuKhien()
        {
            btnInsert.Enabled = true;
            btnDelete.Enabled = true;
            btnUpdate.Enabled = true;
            btnSave.Enabled = false;
            btnLink.Enabled = false;
            cbbMaMon.Enabled = false;

            txtMaChuong.Enabled = false;
            txtNoiDung.Enabled = false;
            txtTenChuong.Enabled = false;
            txtVideo.Enabled = false;
            btnLink.Enabled = true;
        }

        private void MoDieuKhien()
        {
            btnInsert.Enabled = false;
            btnDelete.Enabled = false;
            btnUpdate.Enabled = false;
            btnSave.Enabled = true;
            cbbMaMon.Enabled = true;

            txtMaChuong.Enabled = true;
            txtNoiDung.Enabled = true;
            txtTenChuong.Enabled = true;
            txtVideo.Enabled = true;
        }
        DataTable dt;
        private void GetData()
        {
            dt = obj_ctrl_MonHoc.MonHoc_Select_ALL();
            cbbMaMon.Properties.DataSource = dt;
            cbbMaMon.Properties.DisplayMember = "MaMon";
            cbbMaMon.Properties.ValueMember = "TenMon";
            gripContent.DataSource = obj_Chuong.GetData_SelectAll();
        }
        private void XoaText()
        {
            cbbMaMon.Text = "";
            txtMaChuong.Text = "";
            txtNoiDung.Text = "";
            txtTenChuong.Text = "";
            txtVideo.Text = "";
        }
        public frmChuong()
        {
            InitializeComponent();
        }
       
     
        private void View_Chuong_Load(object sender, EventArgs e)
        {
            GetData();
            KhoaDieuKhien();
        }

        private void btnInsert_Click(object sender, EventArgs e)
        {
            XoaText();
            IsInsert = true;
            MoDieuKhien();
           
        }

        private void btnUpdate_Click(object sender, EventArgs e)
        {
           
            IsInsert = false;
            MoDieuKhien();
            
        }

        private void btnDelete_Click(object sender, EventArgs e)
        {
            if (XtraMessageBox.Show("Bạn có muốn xóa thông tin này không?", "Thông báo", MessageBoxButtons.YesNo) ==  DialogResult.Yes)
            {
                try
                {
                 
                    obj_En.MaChuong = gridView1.GetRowCellValue(gridView1.FocusedRowHandle, gridView1.Columns[1]).ToString();
                    obj_Chuong.Chuong_Delete(obj_En);
                    XtraMessageBox.Show("Đã xóa thông tin thành công","THÔNG BÁO");
                    XoaText();
                    KhoaDieuKhien();
                    GetData();
                }
                catch
                {
                    MessageBox.Show("Vui lòng xóa các bài học tồn tại trong chương cần xóa","THÔNG BÁO",MessageBoxButtons.OK,MessageBoxIcon.Information);
                }
            }
        }

        private void gripContent_Click(object sender, EventArgs e)
        {
            try
            {
                cbbMaMon.Text = gridView1.GetRowCellValue(gridView1.FocusedRowHandle, gridView1.Columns[0]).ToString();
                txtMaChuong.Text = gridView1.GetRowCellValue(gridView1.FocusedRowHandle, gridView1.Columns[1]).ToString();
                txtTenChuong.Text = gridView1.GetRowCellValue(gridView1.FocusedRowHandle, gridView1.Columns[2]).ToString();
                txtNoiDung.Text = gridView1.GetRowCellValue(gridView1.FocusedRowHandle, gridView1.Columns[3]).ToString();
                txtVideo.Text = gridView1.GetRowCellValue(gridView1.FocusedRowHandle, gridView1.Columns[4]).ToString();
            }
            catch
            {

                return;
            }

        }

        private void btnSave_Click(object sender, EventArgs e)
        {
            Error.ClearErrors();
            if (IsInsert == true)
            {
                if (string.IsNullOrEmpty(cbbMaMon.Text))
                    Error.SetError(txtNoiDung, "Lựa chọn \"MÔN\" Cần thiết lập");
                else if (string.IsNullOrEmpty(txtMaChuong.Text))
                    Error.SetError(txtMaChuong, "Nhập thông tin \"MÃ CHƯƠNG\"");
                else if (string.IsNullOrEmpty(txtTenChuong.Text))
                    Error.SetError(txtTenChuong, "Nhập thông tin \"TÊN CHƯƠNG\"");
                else if (string.IsNullOrEmpty(txtTenChuong.Text))
                    Error.SetError(txtNoiDung, "Nhập thông tin \"NỘI DUNG\"");

                else
                {
                    obj_En.MaMon = cbbMaMon.Text;
                    obj_En.MaChuong = txtMaChuong.Text.Trim();
                    obj_En.TenChuong = txtTenChuong.Text.Trim();
                    obj_En.NoiDung = txtNoiDung.Text.Trim();
                    obj_En.Video = txtVideo.Text.Trim();
                    
                    try
                    {
                        obj_Chuong.Chuong_Insert(obj_En);
                        XoaText();
                        XtraMessageBox.Show("Thêm dữ liệu thành công","Thông báo");
                        GetData();
                        KhoaDieuKhien();
                    }
                    catch
                    {

                        XtraMessageBox.Show("Dữ liệu tồn tại hoặc chưa nhập","Thông báo");
                    }
                }
              


            }

            else
            {
                if (string.IsNullOrEmpty(cbbMaMon.Text))
                    Error.SetError(txtNoiDung, "Lựa chọn \"MÔN\" Cần thiết lập");
                else if (string.IsNullOrEmpty(txtMaChuong.Text))
                    Error.SetError(txtMaChuong, "Nhập thông tin \"MÃ CHƯƠNG\"");
                else if (string.IsNullOrEmpty(txtTenChuong.Text))
                    Error.SetError(txtTenChuong, "Nhập thông tin \"TÊN CHƯƠNG\"");
                else if (string.IsNullOrEmpty(txtTenChuong.Text))
                    Error.SetError(txtNoiDung, "Nhập thông tin \"NỘI DUNG\"");
                else
                {
                    cbbMaMon.Enabled = false;
                    obj_En.MaMon = cbbMaMon.Text;
                    obj_En.MaChuong = txtMaChuong.Text;
                    obj_En.TenChuong = txtTenChuong.Text;
                    obj_En.NoiDung = txtNoiDung.Text;
                    obj_En.Video = txtVideo.Text;

                    try
                    {
                        obj_Chuong.Chuong_Update(obj_En);
                        XtraMessageBox.Show("Sửa dữ liệu thành công");
                        XoaText();
                        GetData();

                        KhoaDieuKhien();
                    }
                    catch
                    {

                        XtraMessageBox.Show("Dữ liệu tồn tại hoặc chưa nhập","Thông báo");
                    }
                }
  
            }

        }
        private void btnVideo_Click(object sender, EventArgs e)
        {
            OpenFileDialog ofd = new OpenFileDialog();
            if (ofd.ShowDialog() == DialogResult.OK)
                txtVideo.Text = @"\" + ofd.FileName.Substring(ofd.FileName.LastIndexOf("\\") + 1);
        }
        private void btnLink_Click(object sender, EventArgs e)
        {
            OpenFileDialog ofd = new OpenFileDialog();
            //ofd.Filter = "Text File (*.rtf)|*.rtf";
            if (ofd.ShowDialog() == DialogResult.OK)
                txtNoiDung.Text = @"\" + ofd.FileName.Substring(ofd.FileName.LastIndexOf("\\") + 1);
        }
        public event EventHandler CloseChuong;
        private void frmChuong_FormClosing(object sender, FormClosingEventArgs e)
        {
            CloseChuong(this, new EventArgs());
        }
    }
}